package cn.tedu.antcolony.market.service;


import cn.tedu.antcolony.market.pojo.param.ClueAddNewParam;
import cn.tedu.antcolony.market.pojo.param.ClueUpdateInfoParam;
import cn.tedu.antcolony.market.pojo.vo.ClueListItemVO;
import cn.tedu.antcolony.market.pojo.vo.ClueStandardVO;
import cn.tedu.antcolonycommons.pojo.vo.PageData;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Transactional
public interface IClueService {

    /*添加线索*/
    void addNew(ClueAddNewParam clueAddNewParam);

    /*根据ID删除线索*/
    void delete1(Long id);
    void deleteBatch(List<String> id);

    /*根据ID删除公海*/
    void delete2(Long id);

    /*修改线索数据*/
    void updateInfoById1(Long id, ClueUpdateInfoParam clueUpdateInfoParam);

    /*修改公海数据*/
    void updateInfoById2(Long id, ClueUpdateInfoParam clueUpdateInfoParam);

    /*根据线索id查询*/
    ClueStandardVO getStandardByClueId(Long id);

    /*根据线索id查询*/
    ClueStandardVO getStandardByCustomerSeaId(Long id);

    //线索列表
    PageData<ClueListItemVO> list1(Integer page);

    //自定义每页数量
    PageData<ClueListItemVO> list1(Integer page, Integer pageSize);

    //线索列表
    PageData<ClueListItemVO> list2(Integer page);

    //自定义每页数量
    PageData<ClueListItemVO> list2(Integer page, Integer pageSize);

    //线索转入公海
    int transform(Long id);

    //领取公海
    int pickCustomerSea(Long id,String name);

    //线索转让
    int transferClue(Long id,String name);

    /*todo 线索转客户*/
    int newCustomer(Long id);

    //重建缓存
    void rebuildCache();

}
